//package com.zdx.yswl.ui.activity;
//
//import android.os.Bundle;
//import android.os.CountDownTimer;
//import android.view.View;
//import android.view.View.OnClickListener;
//import android.widget.Button;
//import android.widget.EditText;
//import android.widget.Toast;
//
//import com.umeng.analytics.MobclickAgent;
//import com.zdx.yswl.R;
//import com.zdx.yswl.ui.base.BaseActivity;
//
//public class ForgetPwdActivity extends BaseActivity implements OnClickListener {
//
//	EditText mPhone;
//	EditText mRePwd;
//	Button mReset;
//	Button mSend;
//	Button mConfirm;
//
//	@Override
//	protected void initSettings()
//	{
//
//	}
//
//	@Override
//	protected void initUi()
//	{
//
//	}
//
//	@Override
//	protected void saveSettings()
//	{
//
//	}
//
//	@Override
//	protected void freeMe()
//	{
//
//	}
//
//	@Override
//	public void onCreate(Bundle savedInstanceState) {
//		super.onCreate(savedInstanceState);
//		setContentView(R.layout.activity_forgetpwd);
//		setHeader("更改密码");
//		
//		initView();
//		
//	}
//	
//	private void initView() {
//		mPhone = (EditText) findViewById(R.id.phone_et);
//	    mRePwd = (EditText) findViewById(R.id.pwd_edit);
//	    mSend = (Button) findViewById(R.id.send_btn);
//	    mSend.setOnClickListener(this);
//	    mReset = (Button) findViewById(R.id.reset_btn);
//	    mSend.setOnClickListener(this);
//	    mConfirm = (Button) findViewById(R.id.confirm_btn);
//	    mSend.setOnClickListener(this);
//	    
//	}
//
//	
//	@Override
//	public void onClick(View v) {
//		switch (v.getId()) {
//		case R.id.reset_btn://重置
//			mPhone.setText(null);
//			mPhone.setError(null, null);
//			mRePwd.setText(null);
//			mRePwd.setError(null, null);
//			break;
//		case R.id.send_btn://发送验证码
//			
//			break;
//		case R.id.confirm_btn://提交
//			
//			break;
//
//		default:
//			break;
//		}
//	}
//
//	/**友盟session的统计*/
//	protected void onResume() {
//		super.onResume();
//		MobclickAgent.onResume(this);
//	}
//
//	/**友盟session的统计*/
//	protected void onPause() {
//		super.onPause();
//		MobclickAgent.onPause(this);
//	}
//
//	@Override
//	public void onNotify(int what, int arg1, int arg2, Object obj)
//	{
//
//	}
//
//	@Override
//	public void onHandler(int what, int arg1, int arg2, Object obj)
//	{
//
//	}
//
//
//	/**
//	 * 倒计时的内部类
//	 * 
//	 * @author Administrator 只要继承CountDownTimer 自会重写继承构造，方法
//	 */
//	public class TimeCount extends CountDownTimer {
//		public TimeCount(long millisInFuture, long countDownInterval) {
//			super(millisInFuture, countDownInterval);
//		}
//
//		@Override
//		public void onTick(long millisUntilFinished) {
//			mSend.setClickable(false);// 设置不可点击
//			mSend.setText("倒计时：" + millisUntilFinished / 1000 + "秒");
//			if (millisUntilFinished / 1000 == 1) {
//				mSend.setClickable(true);// 倒数一秒的时候 获得点击
//				mSend.setText("获取验证码");
//			}
//		}
//
//		@Override
//		public void onFinish() {
//			Toast.makeText(ForgetPwdActivity.this, "获取短信激活码超时，请重新发送", Toast.LENGTH_LONG).show();
//		}
//
//	}
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//	
//}

package com.zdx.yswl.ui.activity;

import java.util.HashMap;
import java.util.Map;

import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
import android.os.CountDownTimer;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;

import com.umeng.analytics.MobclickAgent;
import com.zdx.yswl.App;
import com.zdx.yswl.Constant;
import com.zdx.yswl.R;
import com.zdx.yswl.http.KAsyncTask.TaskDelegate;
import com.zdx.yswl.tool.KStringTool;
import com.zdx.yswl.ui.base.BaseActivity;
import com.zdx.yswl.ui.exception.NetworkException;
import com.zdx.yswl.ui.task.ForgetPwdTask;
import com.zdx.yswl.ui.task.RegTask;
import com.zdx.yswl.ui.task.SendSMSCodeTask;

public class ForgetPwdActivity extends BaseActivity implements OnClickListener, TaskDelegate {

	public static Intent actionStart(Context context, String title) {
		Intent intent = new Intent(context, ForgetPwdActivity.class);
		intent.putExtra("title", title);
		return intent;
	}

	EditText mPhone;
	EditText mRePwd;
	EditText mCode;
	Button mSend;
	Button mConfirm;
	String userName;
	String userPwd;
	TimeCount mCount;

	@Override
	public void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_forgetpwd);
		if (KStringTool.isNotEmpty(getIntent().getStringExtra("title"))) {
			setHeader(getIntent().getStringExtra("title"));
		}

		initView();

	}

	private void initView() {
		mPhone = (EditText) findViewById(R.id.phone_et);
		mRePwd = (EditText) findViewById(R.id.pwd_edit);
		mCode = (EditText) findViewById(R.id.ca_send_code);
		mSend = (Button) findViewById(R.id.send_btn);
		mSend.setOnClickListener(this);
		mConfirm = (Button) findViewById(R.id.confirm_btn);
		mConfirm.setOnClickListener(this);

		mCount = new TimeCount(5*60000, 1000);
	}

	@Override
	public void onClick(View v) {
		userName = mPhone.getText().toString().trim();
		if (KStringTool.isEmpty(userName)) {
			mPhone.setError("手机号不能为空");
			return;
		}
		switch (v.getId()) {
			case R.id.send_btn :// 发送验证码
				Map<String, Object> map2 = new HashMap<String, Object>();
				map2.put("phone", userName);
				new SendSMSCodeTask(this, 10020, this).execute(map2);
				mCount.start();
				break;
			case R.id.confirm_btn :// 提交
				userPwd = mRePwd.getText().toString().trim();
				String userCode = mCode.getText().toString().trim();

				if (KStringTool.isNotEmpty(userName) && KStringTool.isNotEmpty(userPwd) && KStringTool.isNotEmpty(userCode)) {
					Map<String, Object> map = new HashMap<String, Object>();
					map.put("phone", userName);
					map.put("passwd", userPwd);
					map.put("code", userCode); // 验证码参数
					map.put("bindId", Constant.bindId); // TODO
					if (mTitle.getText().equals("注册")) {
						new RegTask(this, 10021, this).execute(map);
					}else {
						new ForgetPwdTask(this, 10022, this).execute(map);
					}
				}
				
				
				break;

			default :
				break;
		}
	}
	/** 友盟session的统计 */
	protected void onResume() {
		super.onResume();
		MobclickAgent.onResume(this);
	}

	/** 友盟session的统计 */
	protected void onPause() {
		super.onPause();
		MobclickAgent.onPause(this);
	}

	/**
	 * 倒计时的内部类
	 * 
	 * @author Administrator 只要继承CountDownTimer 自会重写继承构造，方法
	 */
	public class TimeCount extends CountDownTimer {
		public TimeCount(long millisInFuture, long countDownInterval) {
			super(millisInFuture, countDownInterval);
		}

		@Override
		public void onTick(long millisUntilFinished) {
			mSend.setClickable(false);// 设置不可点击
			mSend.setText("倒计时：" + millisUntilFinished / 1000 + "秒");
			if (millisUntilFinished / 1000 == 1) {
				mSend.setClickable(true);// 倒数一秒的时候 获得点击
				mSend.setText("获取验证码");
			}
		}

		@Override
		public void onFinish() {
			Toast.makeText(ForgetPwdActivity.this, "获取短信激活码超时，请重新发送", Toast.LENGTH_LONG).show();
		}

	}

	@Override
	public void faild_TaskDelegate(int taskId, Object object) {
		if (object instanceof NetworkException) {
			Toast.makeText(this, "网络异常", Toast.LENGTH_SHORT).show();
			return;
		}
		if (taskId == 10020) {

		} else {
			Toast.makeText(this, "该手机号码已经注册，请登录", Toast.LENGTH_SHORT).show();
		}
	}

	@Override
	public void success_TaskDelegate(int taskId, Object object) {
		if (taskId == 10020) {
			Toast.makeText(this, "验证码获取成功", Toast.LENGTH_SHORT).show();
		} else if (taskId == 10021) {
			App.getInstance().recordUserLoginStatus(this, userName, userPwd);
			Toast.makeText(this, "注册成功", Toast.LENGTH_SHORT).show();
			startActivity(new Intent(this, MainActivity.class));
			finish();
		}else if (taskId == 10022) {
			App.getInstance().recordUserLoginStatus(this, userName, userPwd);
			Toast.makeText(this, "修改密码成功", Toast.LENGTH_SHORT).show();
			startActivity(new Intent(this, MainActivity.class));
			finish();
		}
	}

	@Override
	public void onNotify(int what, int arg1, int arg2, Object obj) {
		// TODO Auto-generated method stub

	}

	@Override
	public void onHandler(int what, int arg1, int arg2, Object obj) {
		// TODO Auto-generated method stub

	}

	@Override
	protected void initSettings() {
		// TODO Auto-generated method stub

	}

	@Override
	protected void initUi() {
		// TODO Auto-generated method stub

	}

	@Override
	protected void saveSettings() {
		// TODO Auto-generated method stub

	}

	@Override
	protected void freeMe() {
		// TODO Auto-generated method stub

	}

}
